Properties 클래스는
불변의 프로퍼티 세트를 나타냅니다. Properties 를
, 스트림에 보관하거나 스트림로부터 로드하거나 할 수 있습니다. 프로퍼티 리스트의 각 키 및 거기에 대응하는 값은 캐릭터 라인입니다.
프로퍼티 리스트에는
그 「디폴트치」로서 다른 프로퍼티 리스트를 포함할 수가 있습니다. 원의 프로퍼티 리스트로 프로퍼티 키가 발견되지 않으면 이 2 번째의 프로퍼티 리스트가 검색됩니다.
Properties 는
Hashtable 를
상속하므로Properties 오브젝트에 대해서 put 메서드 및 putAll 메서드를 적용할 수 있습니다. 그러나, 이러한 메서드를 사용하는 것은 추천 되지 않습니다. 이러한 메서드를 사용하면, 호출 측에 키 또는 값이 String 가 아닌 엔트리를 삽입시키기 때문입니다. setProperty 메서드를 대신에 사용해 주세요. String 이외의 키 또는 값을 포함하는 「타협적」인 Properties 오브젝트로 store 메서드 또는 save 메서드가 불려 가면, 그 호출은 실패합니다.
load 및 store 메서드는
이하에 나타내는 간결한 행 지향의 포맷으로 프로퍼티를 로드 및 포함합니다. 이 포맷에서는
ISO 8859-1 문자 인코딩이 사용됩니다. 이 인코딩으로 직접 표현할 수 없는 문자는
Unicode 이스케이프를
사용해 기술할 수 있습니다. escape sequence로 사용할 수 있는 것은, 단일의 문자 'u' 뿐입니다.
native2ascii 툴을 사용하면, 프로퍼티 파일을 다른 문자 인코딩으로 변환하거나 그 역을 실행할 수 있습니다.
loadFromXML(InputStream) 및 storeToXML(OutputStream, String, String) 메서드는
프로퍼티를 단순한 XML 형식으로서 로드 및 포함할 수 있습니다. 디폴트에서는 UTF-8 문자 인코딩이 사용됩니다만, 필요에 따라서 인코딩을 지정할 수 있습니다. XML 프로퍼티 문서에서는
다음의 DOCTYPE 선언이 사용됩니다.
<! DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
프로퍼티를 export/임포트 할 경우에
시스템 URI (http://java.sun.com/dtd/properties.dtd)에는 액세스 하지 않습니다. 시스템 URI는
DTD를
일의에 식별하는 캐릭터 라인으로서 사용됩니다. 그 내용은 다음과 같습니다.
<? xml version="1.0" encoding="UTF-8"? >
<! -- DTD for properties -->
<! ELEMENT properties ( comment?, entry* ) >
<! ATTLIST properties version CDATA #FIXED "1.0">
<! ELEMENT comment (#PCDATA) >
<! ELEMENT entry (#PCDATA) >
<! ATTLIST entry key CDATA #REQUIRED>
- 도입된 버젼:
- JDK1. 0
- 관련 항목:
- native2ascii tool for Solaris,
native2ascii tool for Windows,
직렬화 된 형식
메서드 개요 |
String |
getProperty (String key)
지정된 키를 가지는 프로퍼티를, 프로퍼티 리스트로부터 찾습니다. |
String |
getProperty (String key,
String defaultValue)
지정된 키를 가지는 프로퍼티를, 프로퍼티 리스트로부터 찾습니다. |
void |
list (PrintStream out)
지정된 출력 스트림에
프로퍼티 리스트를 출력합니다. |
void |
list (PrintWriter out)
지정된 출력 스트림에
프로퍼티 리스트를 출력합니다. |
void |
load (InputStream inStream)
입력 스트림로부터 키와 요소가 대가 된 프로퍼티 리스트를 읽어들입니다. |
void |
loadFromXML (InputStream in)
지정된 입력 스트림상의 XML 문서에
해 나타내지는 모든 프로퍼티를, 이 프로퍼티 테이블에 로드합니다. |
Enumeration <? > |
propertyNames ()
메인 프로퍼티 리스트에 같은 이름의 키가 발견되지 않는 경우는
디폴트의 프로퍼티 리스트에 있는 개별의 키를 포함한, 이 프로퍼티 리스트에 있는 모든 키의 리스트를 돌려줍니다. |
void |
save (OutputStream out,
String comments)
추천하지 않습니다
. 이 메서드는
프로퍼티 리스트의 보존중에 입출력 에러가 발생해도 IOException를
Throw 하지 않습니다. 프로퍼티 리스트의 보존 방법으로서는
store(OutputStream out, String comments) 메서드 또는 storeToXML(OutputStream os, String comment) 메서드의 사용이 추천 됩니다. |
Object |
setProperty (String key,
String value)
Hashtable
put 메서드를 호출합니다. |
void |
store (OutputStream out,
String comments)
Properties 테이블내의 프로퍼티 리스트 (키와 요소의 페어)를,load 메서드를 사용해 Properties 테이블에 로드하는데 적절한 포맷으로 출력 스트림에 기입합니다. |
void |
storeToXML (OutputStream os,
String comment)
이 테이블에 포함되는 모든 프로퍼티를 나타내는 XML 문서를 발행합니다. |
void |
storeToXML (OutputStream os,
String comment,
String encoding)
이 테이블에 포함되는 모든 프로퍼티를 나타내는 XML 문서를, 지정된 인코딩을 사용해 발행합니다. |
클래스 java.util. Hashtable 로부터 상속된 메서드 |
clear,
clone,
contains,
containsKey,
containsValue,
elements,
entrySet,
equals,
get,
hashCode,
isEmpty,
keys,
keySet,
put,
putAll,
rehash,
remove,
size,
toString,
values |
|